package com.event.management.frontend.service;

import com.event.management.frontend.dto.LoginParam;
import com.event.management.frontend.dto.FrontLoginResponseDTO;
import com.event.management.frontend.dto.FrontUserInfoDTO;
import com.event.management.frontend.dto.RegisterParam;
import com.event.management.frontend.dto.UpdatePasswordParam;
import com.event.management.frontend.dto.UpdateUserParam;
import com.event.management.frontend.dto.UserDetailDTO;

/**
 * 前台用户服务接口
 */
public interface FrontUsersService {

    /**
     * 前台用户登录
     * @param loginParam 登录参数
     * @return 登录结果
     */
    FrontLoginResponseDTO frontLogin(LoginParam loginParam);
    
    /**
     * 获取当前登录前台用户信息
     * @return 用户信息
     */
    FrontUserInfoDTO getCurrentFrontUserInfo();
    
    /**
     * 根据用户名查询用户ID
     * @param username 用户名
     * @return 用户ID
     */
    Integer getUserIdByUsername(String username);
    
    /**
     * 用户注册
     * @param registerParam 注册参数
     * @return 是否注册成功
     */
    boolean register(RegisterParam registerParam);
    
    /**
     * 更新用户资料
     * @param updateUserParam 用户资料更新参数
     * @return 是否更新成功
     */
    boolean updateUserInfo(UpdateUserParam updateUserParam);
    
    /**
     * 修改密码
     * @param updatePasswordParam 密码修改参数
     * @return 是否修改成功
     */
    boolean updatePassword(UpdatePasswordParam updatePasswordParam);
    
    /**
     * 获取当前用户详细信息
     * @return 用户详细信息
     */
    UserDetailDTO getCurrentUserDetail();
} 